"""
	创建一个Person类,有特征 :身份证号,姓名,年龄.和行为自我介绍.
		创建一个Student类 有特征: 学生编号 和 行为学习
	 创建3个学生实例.给成员变量赋值并输出
"""
# () 等同于写 (object) 表示Person继承Object
class Person(object):
    def __init__(self,id,name,age):
        # 提供三个成员变量
        self.id = id
        self.name = name
        self.age = age
        
    def __str__(self):
        return "id:{} name:{} age:{}".format(self.id,self.name,self.age)
       
    def parent(self):
        print("This is parent method")
       
       
class Student(Person):
    """
        让Student继承了Person 会继承父类的方法.
    """
    # TypeError: __init__() missing 3 required positional arguments: 'id', 'name', and 'age'
    def __init__(self,id,name,age,sid):
        # 利用父类Person的init来完成字段 id,name,age的初始化
        Person.__init__(self,id,name,age)
        self.sid = sid
        
    def __str__(self):
        return Person.__str__(self) + "sid:{}".format(self.sid)
    
    # 子类继承父类 用于父类中声明过的方法.
    # 并且子类可以改写这些方法.改写时要保证声明不变!
    def parent(self):
        print("This is child override parent method")
    
 
s = Student(1,"张三",19,1001)
print(s)
s.parent()